package com.yungu.swift.assets.driver.model.vo;

import com.yungu.swift.base.model.BaseVo;

import java.math.BigDecimal;
import java.util.Optional;

/**
 * @author Zerrion
 * @version 1.0
 * @description 司机详细信息Bean
 * @date 2018/1/2 10:26
 */
public class AdminMonitorDriverDetailVo extends BaseVo {

    /**
     * 司机Id
     */
    private String driverUuid;

    /**
     * 订单总数
     */
    private int orderCount;

    /**
     * 在线时长
     */
    private BigDecimal onLineTime = BigDecimal.ZERO;

    /**
     * 离线时长
     */
    private BigDecimal offLineTime = BigDecimal.ZERO;

    /**
     * 在线时长
     */
    private BigDecimal onWorkTimeSum = BigDecimal.ZERO;

    /**
     * 收入
     */
    private BigDecimal fareSum = BigDecimal.ZERO;

    /**
     * 服务里程
     */
    private BigDecimal distanceSum = BigDecimal.ZERO;

    /**
     * 总躺数
     * @return
     */
    private Integer tripTotal = 0;

    /**
     * 拼车订单数
     * @return
     */
    private Integer joinOrderTotal = 0;

    /**
     * 小件订单数
     * @return
     */
    private Integer parcelOrderTotal = 0;


    public String getDriverUuid() {
        return driverUuid;
    }

    public void setDriverUuid(String driverUuid) {
        this.driverUuid = driverUuid;
    }

    public BigDecimal getOnLineTime() {
        return Optional.ofNullable(onLineTime).orElse(BigDecimal.ZERO);
    }

    public void setOnLineTime(BigDecimal onLineTime) {
        this.onLineTime = onLineTime;
    }

    public BigDecimal getOffLineTime() {
        return Optional.ofNullable(offLineTime).orElse(BigDecimal.ZERO);
    }

    public void setOffLineTime(BigDecimal offLineTime) {
        this.offLineTime = offLineTime;
    }

    public BigDecimal getOnWorkTimeSum() {
        return Optional.ofNullable(onWorkTimeSum).orElse(BigDecimal.ZERO);
    }

    public void setOnWorkTimeSum(BigDecimal onWorkTimeSum) {
        this.onWorkTimeSum = onWorkTimeSum;
    }

    public int getOrderCount() {
        return orderCount;
    }

    public void setOrderCount(int orderCount) {
        this.orderCount = orderCount;
    }

    public BigDecimal getFareSum() {
        return Optional.ofNullable(fareSum).orElse(BigDecimal.ZERO);
    }

    public void setFareSum(BigDecimal fareSum) {
        this.fareSum = fareSum;
    }

    public BigDecimal getDistanceSum() {
        return Optional.ofNullable(distanceSum).orElse(BigDecimal.ZERO);
    }

    public void setDistanceSum(BigDecimal distanceSum) {
        this.distanceSum = distanceSum;
    }

    public Integer getTripTotal() {
        return tripTotal;
    }

    public void setTripTotal(Integer tripTotal) {
        this.tripTotal = tripTotal;
    }

    public Integer getJoinOrderTotal() {
        return joinOrderTotal;
    }

    public void setJoinOrderTotal(Integer joinOrderTotal) {
        this.joinOrderTotal = joinOrderTotal;
    }

    public Integer getParcelOrderTotal() {
        return parcelOrderTotal;
    }

    public void setParcelOrderTotal(Integer parcelOrderTotal) {
        this.parcelOrderTotal = parcelOrderTotal;
    }
}
